#ifndef SDFDEBUGDRAWER_H
#define SDFDEBUGDRAWER_H

#include <osgbCollision/GLDebugDrawer.h>
#include <osg/MatrixTransform>
class SDFDebugDrawer : public osgbCollision::GLDebugDrawer
{
public:
    SDFDebugDrawer();

    virtual ~SDFDebugDrawer();
    virtual void drawLine( const btVector3& from,const btVector3& to,const btVector3& color );

    virtual void drawTriangle(const btVector3 &a,
                              const btVector3 &b,
                              const btVector3 &c,
                              const btVector3 &color,
                              btScalar alpha);
    virtual void drawTriangle(const btVector3 &v0,
                              const btVector3 &v1,
                              const btVector3 &v2,
                              const btVector3 &,
                              const btVector3 &,
                              const btVector3 &,
                              const btVector3 &color,
                              btScalar alpha);

    virtual void drawContactPoint(const btVector3 &PointOnB,
                                  const btVector3 &normalOnB,
                                  btScalar distance,
                                  int lifeTime,
                                  const btVector3 &color);


protected:
    void readNormalArrowNode();
private:
    osg::ref_ptr<osg::Node> m_normalArrowNode;
};

#endif // SDFDEBUGDRAWER_H
